#include "SpriteSingle.h"
#include "MouseListener.h"
#include "KeyboardListener.h"
namespace Core
{
	namespace GameLogic
	{
		class SimpleMap;
	}
}
namespace Implement
{
	class MouseCursor :
		public Graphics::SpriteSingle,
		public Core::Devices::MouseListener,
		public Core::Devices::KeyboardListener
	{
		Core::Position m_Pos;
		Core::GameLogic::SimpleMap& mMap;
	public:
		MouseCursor(Core::GameLogic::SimpleMap& map);
		void OnMouseEvent(Core::Devices::MouseListener::SourceType& t);
		void OnKeyboardPressingEvent(Core::Devices::KeyboardListener::SourceType& t);
		void OnKeyboardUpEvent(Core::Devices::KeyboardListener::SourceType& t);
		const Core::Position& GetPos();
	};
}